package com.cddx.logistics.domain.pojo;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;

/**
* 系统通告表
* @TableName sys_announcement
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class SysAnnouncement implements Serializable {

    /**
    * 
    */
    @NotBlank(message="[]不能为空")
    @Size(max= 32,message="编码长度不能超过32")
    @ApiModelProperty("ID")
    @Length(max= 32,message="编码长度不能超过32")
    private Integer id;
    /**
    * 标题
    */
    @Size(max= 100,message="编码长度不能超过100")
    @ApiModelProperty("标题")
    @Length(max= 100,message="编码长度不能超过100")
    private String titile;
    /**
    * 内容
    */
    @Size(max= -1,message="编码长度不能超过-1")
    @ApiModelProperty("内容")
    @Length(max= -1,message="编码长度不能超过-1")
    private String msgContent;
    /**
    * 开始时间
    */
    @ApiModelProperty("开始时间")
    private Date startTime;
    /**
    * 结束时间
    */
    @ApiModelProperty("结束时间")
    private Date endTime;
    /**
    * 发布人
    */
    @Size(max= 100,message="编码长度不能超过100")
    @ApiModelProperty("发布人")
    @Length(max= 100,message="编码长度不能超过100")
    private String sender;
    /**
    * 优先级（L低，M中，H高）
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("优先级（L低，M中，H高）")
    @Length(max= 255,message="编码长度不能超过255")
    private String priority;
    /**
    * 消息类型1:通知公告2:系统消息
    */
    @NotBlank(message="[消息类型1:通知公告2:系统消息]不能为空")
    @Size(max= 10,message="编码长度不能超过10")
    @ApiModelProperty("消息类型1:通知公告2:系统消息")
    @Length(max= 10,message="编码长度不能超过10")
    private String msgCategory;
    /**
    * 通告对象类型（USER:指定用户，ALL:全体用户）
    */
    @Size(max= 10,message="编码长度不能超过10")
    @ApiModelProperty("通告对象类型（USER:指定用户，ALL:全体用户）")
    @Length(max= 10,message="编码长度不能超过10")
    private String msgType;
    /**
    * 发布状态（0未发布，1已发布，2已撤销）
    */
    @Size(max= 10,message="编码长度不能超过10")
    @ApiModelProperty("发布状态（0未发布，1已发布，2已撤销）")
    @Length(max= 10,message="编码长度不能超过10")
    private String sendStatus;
    /**
    * 发布时间
    */
    @ApiModelProperty("发布时间")
    private Date sendTime;
    /**
    * 撤销时间
    */
    @ApiModelProperty("撤销时间")
    private Date cancelTime;
    /**
    * 删除状态（0，正常，1已删除）
    */
    @Size(max= 1,message="编码长度不能超过1")
    @ApiModelProperty("删除状态（0，正常，1已删除）")
    @Length(max= 1,message="编码长度不能超过1")
    private String delFlag;
    /**
    * 业务类型(email:邮件 bpm:流程)
    */
    @Size(max= 20,message="编码长度不能超过20")
    @ApiModelProperty("业务类型(email:邮件 bpm:流程)")
    @Length(max= 20,message="编码长度不能超过20")
    private String busType;
    /**
    * 业务id
    */
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("业务id")
    @Length(max= 50,message="编码长度不能超过50")
    private String busId;
    /**
    * 打开方式(组件：component 路由：url)
    */
    @Size(max= 20,message="编码长度不能超过20")
    @ApiModelProperty("打开方式(组件：component 路由：url)")
    @Length(max= 20,message="编码长度不能超过20")
    private String openType;
    /**
    * 组件/路由 地址
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("组件/路由 地址")
    @Length(max= 255,message="编码长度不能超过255")
    private String openPage;
    /**
    * 创建人
    */
    @Size(max= 32,message="编码长度不能超过32")
    @ApiModelProperty("创建人")
    @Length(max= 32,message="编码长度不能超过32")
    private String createBy;
    /**
    * 创建时间
    */
    @ApiModelProperty("创建时间")
    private Date createTime;
    /**
    * 更新人
    */
    @Size(max= 32,message="编码长度不能超过32")
    @ApiModelProperty("更新人")
    @Length(max= 32,message="编码长度不能超过32")
    private String updateBy;
    /**
    * 更新时间
    */
    @ApiModelProperty("更新时间")
    private Date updateTime;
    /**
    * 指定用户
    */
    @Size(max= -1,message="编码长度不能超过-1")
    @ApiModelProperty("指定用户")
    @Length(max= -1,message="编码长度不能超过-1")
    private String userIds;
    /**
    * 摘要
    */
    @Size(max= -1,message="编码长度不能超过-1")
    @ApiModelProperty("摘要")
    @Length(max= -1,message="编码长度不能超过-1")
    private String msgAbstract;


}
